Zurück in SoftwareentwicklungWeiter in SoftwareentwicklungEinbettung der Hilfe in die Anwendung ?

Wer seine Hilfetexte mit HTML Help Workshop in einer *.chm-Datei (compiled help) zusammengefasst hat, kann sie auf zwei Wegen mit einer Anwendung, zum Beispiel Testverwaltung.mdb, verbinden:

TESTS unterstützt den Anwender ...

Das folgende Beispiel zeigt, wie sich kontextsensitive Hilfe integrieren lässt. Der VBA-Code stammt aus dem Modul Form_FrmStart von Access_Quiz.mdb. Zuerst schafft er eine Verbindung zur externen Programmbibliothek HHCtrl.ocx, indem er deren Funktion HtmlHelp vereinbart. Dann startet die Ereignisprozedur der Schaltfläche BtnHilfe () diese Funktion und übergibt ihr die eingangs vereinbarten vier Argumente, welche die Hilfedatei Tests.chm öffnen und daraus das Hilfethema AccessQuiz.htm anzeigen.

'--- 1. Externe DLL HHCtrl.ocx vereinbaren
'       (ActiveX-Control, das die Integration von Hilfethemen ermöglicht)
Const HH_DISPLAY_TOPIC = &H0
Private Declare Function HtmlHelp Lib "HHCtrl.ocx" Alias "HtmlHelpA" _
    (ByVal hwndCaller As Long, _
     ByVal pszFile As String, _    'kompilierte Hilfedatei
     ByVal uCommand As Long, _     'Beschreibung der Hilfeaktion     
     dwData As Any                 'HTML-Datei mit dem Hilfethema
    )
    As Long

'--- 2. In Ziff. 1 vereinbarte Funktion mit passenden Argumenten aufrufen
Private Sub BtnHilfe_Click()
  Call HtmlHelp(0, "Tests.chm", HH_DISPLAY_TOPIC, ByVal "AccessQuiz.htm")
End Sub

Was ändert, wenn aus einem beliebigen Formular oder Steuerelement eine Hilfedatei aufgerufen werden soll?